home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / plain / contrib / badges.tex < prev    next >
Encoding:
Text File  |  1992-08-26  |  2.4 KB  |  91 lines

  1. %
  2. % BEGIN PARAMETERS
  3. %
  4. %===========================================================
  5. \hsize=16cm%\hoffset=-2.54cm
  6. \vsize=24cm\voffset=-1.54cm
  7.  
  8. \def\height{4cm}        % heigth of a badge
  9. \def\width{7.5cm}        % width of a badge
  10. %===========================================================
  11. %
  12. % END PARAMETERS
  13. %
  14.  
  15. \parskip=0pt
  16. \baselineskip=0pt
  17. \lineskip=0pt
  18. \nopagenumbers
  19.  
  20. \font\RC=RC scaled 483                % take your own logo here
  21. \font\tue=tue scaled 403            % take your own logo here
  22. \font\namefont=cmssbx10 scaled\magstep2
  23. \font\addressfont=cmss10 scaled\magstep1
  24.  
  25. \def\hidehrule#1#2{\kern-#1%
  26.     \hrule height#1 depth #2 \kern-#2 }
  27. \def\hidevrule#1#2{\kern-#1{\dimen0=#1
  28.     \advance\dimen0 by#2\vrule width\dimen0}\kern-#2 }
  29. \def\makeblankbox#1#2{\hbox{\lower\dp0\vbox{\hidehrule{#1}{#2}%
  30.     \kern\ht0\hidehrule{#1}{#2}\kern-\ht0%
  31.     \kern-#1 % overlap the rules at the corners
  32.     \hbox to \wd0{\hidevrule{#1}{#2}%
  33.         \raise\ht0\vbox to #1{}% set the vrule heigth
  34.         \lower\dp0\vtop to #1{}% set the vrule depth
  35.         \hfil\hidevrule{#2}{#1}}%
  36.     \kern-#1\hidehrule{#2}{#1}
  37.     }}}
  38.     
  39. \def\makelightbox{\makeblankbox{.2pt}{.2pt}}
  40.  
  41. \def\nullbox#1#2#3{\setbox0=\null
  42.     \ht0=#1 \dp0=#2 \wd0=#3 \copy0\kern-\wd0\makelightbox}    
  43.  
  44. \newdimen\x \newdimen\y
  45. \def\put(#1,#2,#3){\setbox0=\hbox{#3}%
  46.     \x=#1\y=#2 \advance\y by\ht0    % put reference point of box at (x,y)
  47.     \vbox to 0pt{\kern-\y
  48.     \hbox{\kern\x\copy0\kern-\wd0\makelightbox}\vss}
  49.     \nointerlineskip}
  50.  
  51.  
  52. \newcount\cnt \cnt=0
  53. \newdimen\X \newdimen\Y \X=0cm \Y=0cm
  54.  
  55. \def\badge#1#2{
  56.    \advance\cnt by1
  57.    \ifodd\cnt\X=0cm\advance\Y by-\height
  58.       \ifnum\Y<-\vsize\eject\cnt=1\X=0cm\Y=-\height\fi
  59.       \else\advance\X by\width
  60.    \fi
  61.    \put(\X,\Y,% don't leave this percent sign!
  62.        \vbox to \height{
  63.         \kern.5cm
  64.         {\namefont\hbox to\width{\hfill#1\hfill}}
  65.         \vfil        % next line is site dependant !!!!!!
  66.         \hbox to \width{\kern.5cm{\tue tue}\hfill{\RC RC}\kern.5cm}
  67.         \vfil        % above line is site dependant !!!!!!
  68.         {\addressfont\hbox to\width{\hfill#2\hfill}}
  69.         \kern.5cm%
  70.     })
  71. }
  72.  
  73. \newread\addressfile
  74. \newif\ifGoOn    \GoOntrue
  75.  
  76. \openin\addressfile=addresses
  77. \ifeof\addressfile\message{Cannot open addresses}\end\fi
  78.  
  79. \read\addressfile to \text \let\name=\text
  80. \loop
  81.    \read\addressfile to \text \let\inst=\text
  82.    \immediate\write16{Badge: \name \inst}
  83.    \badge{\name}{\inst}
  84.    \read\addressfile to \text \let\name=\text
  85.    \ifeof\addressfile\GoOnfalse\fi
  86.    \ifGoOn
  87. \repeat
  88.  
  89. \closein\addressfile
  90. \bye
  91.